Laravel User Login Event and API call triggered
Hey Bobby (if Bobby answers),
I need some quick help with my project. The project uses Laravel JetStream. I am using the default authentication flow that comes with JetStream. I did make a CreateNewPlayer.php Fortify Action file that does work however, I am having issues getting the event listener file to trigger. I posted my listener, service and fortify action files. I have been stuck on this for 2 days now and cannot seem to find the solution. Originally I was trying to trigger the service file directly after the registration event was fired but the session doesn't have the user id yet so i had to back it off to the login event and even then it is not grabbing either the user id or the gamertag and platform or both. Or the listener is not working. I know for a fact the service file works bc when i test the service with Tinker it works fine and I attached that screenshot. The players table is supposed to be populated with the data from the API response and the $event->user
ID from the session.
I know that I have mapped the players table correctly as I have a player there already. I am losing my mind trying to figure this out. I put the user id as part of the player information on the dashboard and it appears after registration so that part works as well.
<?php
namespace App\Listeners;
use Illuminate\Auth\Events\Login;
use Illuminate\Support\Facades\Event;
use Laravel\Fortify\Fortify;
use App\Services\EAVerifier;
use App\Actions\Fortify\CreateNewPlayer;
class CreatePlayerForUser
{
public $eaVerifier;
public $createNewPlayer;
public function __construct(EAVerifier $eaVerifier, CreateNewPlayer $createNewPlayer)
{
$this->eaVerifier = $eaVerifier;
$this->createNewPlayer = $createNewPlayer;
}
public function handle(Login $event)
{
\Log::info("Login event listener triggered for user: {$event->user->id}");
$user = $event->user;
// Extract gamertag and platform from the user
$gamertag = $user->gamertag; // Use $user->gamertag directly
$platform = $user->platform; // Use $user->platform directly
// Call the EAVerifier service to fetch player stats
$playerStats = $this->eaVerifier->fetchEaStats($platform, $gamertag);
// Check if stats were successfully fetched
if ($playerStats && !isset($playerStats['error'])) {
// Combine the stats with the user's ID
$playerData = array_merge($playerStats, ['user_id' => $user->id]);
// Use the CreateNewPlayer action to create/update the player record
$this->createNewPlayer->create($user, $playerData);
} else {
// Handle the scenario where stats could not be fetched or an error occurred
// Logging or notifying the failure might be necessary
}
}
}
<?php
namespace App\Services;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Support\Facades\Http;
class EAVerifier
{
public function fetchEaStats($platform, $gamertag)
{
try {
$response = Http::withOptions([
'verify' => false, // This disables SSL certificate verification
])->withHeaders([
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0',
'Accept' => 'application/json',
// Include other headers as necessary
])->get('https://proclubs.ea.com/api/nhl/members/search', [
'platform' => $platform,
'memberName' => $gamertag
]);
// If you need to ensure the request was successful, check the status code before returning the data.
if ($response->successful()) {
return $response->json();
} else {
// Handle the case where the API response is not successful
return ['error' => 'API request failed with status code ' . $response->status()];
}
} catch (GuzzleException $e) {
// Handle the exception
return ['error' => 'Failed to fetch EA stats: ' . $e->getMessage()];
}
}
}
<?php
namespace App\Actions\Fortify;
use App\Models\Player;
use App\Services\EAVerifier;
class CreateNewPlayer
{
protected EAVerifier $eaVerifier;
public function __construct(EAVerifier $eaVerifier)
{
$this->eaVerifier = $eaVerifier;
}
public function create($user, $input)
{
$playerData = $this->eaVerifier->fetchEaStats($input['platform'], $user->gamertag);
if (!isset($playerData['error'])) {
try {
Player::create([
'user_id' => $user->id,
'skplayername' => $playerData['skplayername'] ?? null,
'gamesplayed' => $playerData['gamesplayed'] ?? 0,
'skgoals' => $playerData['skgoals'] ?? 0,
'skassists' => $playerData['skassists'] ?? 0,
'skplusmin' => $playerData['skplusmin'] ?? 0,
'skpim' => $playerData['skpim'] ?? 0,
'skhits' => $playerData['skhits'] ?? 0,
'glgp' => $playerData['glgp'] ?? 0,
'dgp' => $playerData['dgp'] ?? 0,
'rwgp' => $playerData['rwgp'] ?? 0,
'cgp' => $playerData['cgp'] ?? 0,
'lwgp' => $playerData['lwgp'] ?? 0,
'glgaa' => $playerData['glgaa'] ?? 0,
'glga' => $playerData['glga'] ?? 0,
'glsaves' => $playerData['glsaves'] ?? 0,
'glsavepct' => $playerData['glsavepct'] ?? 0,
'glso' => $playerData['glso'] ?? 0,
'glsoperiods' => $playerData['glsoperiods'] ?? 0,
'blazeId' => $playerData['blazeId'] ?? 0,
'favoritePosition' => $playerData['favoritePosition'] ?? null,
'name' => $playerData['name'] ?? null,
'platform' => $playerData['platform'] ?? null,
'club_id' => $playerData['club_id'] ?? null
]);
// Return a success response or appropriate result
return ['success' => true];
} catch (\Exception $e) {
// Handle the database or other exceptions here
return ['error' => 'Failed to create player.'];
}
} else {
// Handle the scenario where player data could not be fetched or an error occurred
return ['error' => 'Failed to fetch player data.'];
}
}
}
Based on the provided code snippets, the CreatePlayerForUser
class looks correct and should be able to trigger the CreateNewPlayer
action when a user logs in. The issue might lie in the registration process or in the way the user is being identified when logging in.
Is your CreatePlayerForUser
listener is properly registered in your EventServiceProvider
? The Login event should be mapped to your listener in the $listen
array.
Also do you see any errors in the laravel logs that might help? If this is not the case, what I find useful is to use the Debugbar for Laravel package. In most cases it will provide you with some very good information on what might be going on.
On another note, if you made recent changes to event listeners or service providers, clear your configuration cache with php artisan config:clear
and php artisan cache:clear
.
Let me know how it goes.
Yes, the listener is registered in the EventServiceProvider and is right as far as I know. I also installed some other event listeners.
<?php
namespace App\Providers;
use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Events\Login;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Event;
use App\Listeners\CreatePlayerForUser;
class EventServiceProvider extends ServiceProvider
{
/**
* The event to listener mappings for the application.
*
* @var array<class-string, array<int, class-string>>
*/
protected $listen = [
Illuminate\Auth\Events\Login::class => [
\App\Listeners\CreatePlayerForUser::class.'@handle',
\App\Listeners\LogActivity::class.'@login',
],
\Illuminate\Auth\Events\Registered::class => [
SendEmailVerificationNotification::class,
\App\Listeners\LogActivity::class.'@registered',
],
\Illuminate\Auth\Events\Logout::class => [
\App\Listeners\LogActivity::class.'@logout',
],
\Illuminate\Auth\Events\Failed::class => [
\App\Listeners\LogActivity::class.'@failed',
],
\Illuminate\Auth\Events\PasswordReset::class => [
\App\Listeners\LogActivity::class.'@passwordReset',
],
];
/**
* Register any events for your application.
*
* @return void
*/
public function boot()
{
//
}
/**
* Determine if events and listeners should be automatically discovered.
*
* @return bool
*/
public function shouldDiscoverEvents()
{
return true;
}
}
When I checked the logs, the user login event is being triggered and my user ID is 1 thanks to the logging event above and my custom listener is just above it. After I installed Debugbar for Laravel I am now getting errors logged and those are below. This has been baffling to say the least. I am used to regular curl requests and have written mine as such and it works when tested with Tinker.
[stacktrace]
#0 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php(61): Illuminate\\Foundation\\ProviderRepository->compileManifest()
#1 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(664): Illuminate\\Foundation\\ProviderRepository->load()
#2 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php(17): Illuminate\\Foundation\\Application->registerConfiguredProviders()
#3 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(242): Illuminate\\Foundation\\Bootstrap\\RegisterProviders->bootstrap()
#4 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Foundation\\Application->bootstrapWith()
#5 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(160): Illuminate\\Foundation\\Http\\Kernel->bootstrap()
#6 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(134): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#7 /var/www/vhosts/worldesports.app/httpdocs/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()
#8 {main}
"}
<< Less
#23 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(441): App\\Listeners\\CreatePlayerForUser->handle()
#24 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(249): Illuminate\\Events\\Dispatcher->Illuminate\\Events\\{closure}()
#25 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(745): Illuminate\\Events\\Dispatcher->dispatch()
#26 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(509): Illuminate\\Auth\\SessionGuard->fireLoginEvent()
#27 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/fortify/src/Http/Controllers/TwoFactorAuthenticatedSessionController.php(67): Illuminate\\Auth\\SessionGuard->login()
#28 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Laravel\\Fortify\\Http\\Controllers\\TwoFactorAuthenticatedSessionController->store()
#29 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction()
#30 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Route.php(260): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#31 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#32 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(798): Illuminate\\Routing\\Route->run()
#33 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#34 /var/www/vhosts/worldesports.app/httpdocs/app/Http/Middleware/RedirectIfAuthenticated.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#35 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\RedirectIfAuthenticated->handle()
#36 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#37 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#38 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(126): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#39 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(102): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest()
#40 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(54): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter()
#41 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle()
#42 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#44 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#45 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#46 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#47 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#48 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Session\\Middleware\\StartSession->handle()
#49 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#50 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#51 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#52 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#53 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#54 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(799): Illuminate\\Pipeline\\Pipeline->then()
#55 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(776): Illuminate\\Routing\\Router->runRouteWithinStack()
#56 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(740): Illuminate\\Routing\\Router->runRoute()
#57 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(729): Illuminate\\Routing\\Router->dispatchToRoute()
#58 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(190): Illuminate\\Routing\\Router->dispatch()
#59 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#60 /var/www/vhosts/worldesports.app/httpdocs/vendor/livewire/livewire/src/DisableBrowserCache.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#61 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Livewire\\DisableBrowserCache->handle()
#62 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#63 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#64 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#65 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#66 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#67 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#68 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#69 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#70 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#71 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#72 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#73 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\HandleCors->handle()
#74 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#75 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#76 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#77 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\\Pipeline\\Pipeline->then()
#78 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(134): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#79 /var/www/vhosts/worldesports.app/httpdocs/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()
#80 {main}
"}
local.ERROR: Debugbar exception: Route [debugbar.openhandler] not defined.
Apparently I did not install a route for the debugger because I did not think it was needed?
local.ERROR: Target class [App\Providers\EAVerifier] does not exist. {"userId":1,"exception":"[object] (Illuminate\\Contracts\\Container\\BindingResolutionException(code: 0): Target class [App\\Providers\\EAVerifier] does not exist. at /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Container.php:891)
[stacktrace]
#0 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Container.php(770): Illuminate\\Container\\Container->build()
#1 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(856): Illuminate\\Container\\Container->resolve()
#2 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Container.php(706): Illuminate\\Foundation\\Application->resolve()
#3 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(841): Illuminate\\Container\\Container->make()
#4 /var/www/vhosts/worldesports.app/httpdocs/app/Providers/AppServiceProvider.php(19): Illuminate\\Foundation\\Application->make()
#5 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Container.php(885): App\\Providers\\AppServiceProvider->App\\Providers\\{closure}()
#6 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Container.php(770): Illuminate\\Container\\Container->build()
#7 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(856): Illuminate\\Container\\Container->resolve()
More >>
local.INFO: [Illuminate\Auth\Events\Logout] User chieftech@worldesports.app logged out from 2605:a601:ae79:3c00:8979:f1c2:412d:7630 {"id":1,"email":"chieftech@worldesports.app"}
As you can see the events are being logged. It was logging the user login event but appears to have stopped doing it.
#5 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(153): Illuminate\\Foundation\\Console\\Kernel->bootstrap()
#6 /var/www/vhosts/worldesports.app/httpdocs/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle()
#7 {main}
"}
#5 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(153): Illuminate\\Foundation\\Console\\Kernel->bootstrap()
#6 /var/www/vhosts/worldesports.app/httpdocs/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle()
#7 {main}
"}
This last error is quite long, sorry about that lol.
[stacktrace]
#0 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Support/helpers.php(247): Illuminate\\Http\\Client\\PendingRequest->Illuminate\\Http\\Client\\{closure}()
#1 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(863): retry()
#2 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(700): Illuminate\\Http\\Client\\PendingRequest->send()
#3 /var/www/vhosts/worldesports.app/httpdocs/app/Services/EAVerifier.php(21): Illuminate\\Http\\Client\\PendingRequest->get()
#4 /var/www/vhosts/worldesports.app/httpdocs/app/Listeners/CreatePlayerForUser.php(35): App\\Services\\EAVerifier->fetchEaStats()
#5 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(441): App\\Listeners\\CreatePlayerForUser->handle()
#6 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(249): Illuminate\\Events\\Dispatcher->Illuminate\\Events\\{closure}()
#7 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(745): Illuminate\\Events\\Dispatcher->dispatch()
#8 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(509): Illuminate\\Auth\\SessionGuard->fireLoginEvent()
#9 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/fortify/src/Http/Controllers/TwoFactorAuthenticatedSessionController.php(67): Illuminate\\Auth\\SessionGuard->login()
#10 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Laravel\\Fortify\\Http\\Controllers\\TwoFactorAuthenticatedSessionController->store()
#11 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction()
#12 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Route.php(260): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#13 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#14 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(798): Illuminate\\Routing\\Route->run()
#15 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#16 /var/www/vhosts/worldesports.app/httpdocs/app/Http/Middleware/RedirectIfAuthenticated.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\RedirectIfAuthenticated->handle()
#18 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#20 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(126): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#21 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(102): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest()
#22 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(54): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter()
#23 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle()
#24 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#25 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#26 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#27 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#28 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#30 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Session\\Middleware\\StartSession->handle()
#31 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#33 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#35 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(799): Illuminate\\Pipeline\\Pipeline->then()
#37 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(776): Illuminate\\Routing\\Router->runRouteWithinStack()
#38 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(740): Illuminate\\Routing\\Router->runRoute()
#39 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(729): Illuminate\\Routing\\Router->dispatchToRoute()
#40 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(190): Illuminate\\Routing\\Router->dispatch()
#41 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#42 /var/www/vhosts/worldesports.app/httpdocs/vendor/livewire/livewire/src/DisableBrowserCache.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Livewire\\DisableBrowserCache->handle()
#44 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#45 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#46 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#47 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#48 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#49 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#50 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#51 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#52 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#53 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#54 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#55 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\HandleCors->handle()
#56 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#57 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#58 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#59 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\\Pipeline\\Pipeline->then()
#60 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(134): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#61 /var/www/vhosts/worldesports.app/httpdocs/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()
#62 {main}
[previous exception] [object] (GuzzleHttp\\Exception\\ConnectException(code: 0): cURL error 28: Operation timed out after 30002 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://proclubs.ea.com/api/nhl/members/search?platform=common-gen5&memberName=bestthereis1983 at /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:210)
[stacktrace]
#0 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(158): GuzzleHttp\\Handler\\CurlFactory::createRejection()
#1 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(110): GuzzleHttp\\Handler\\CurlFactory::finishError()
#2 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php(47): GuzzleHttp\\Handler\\CurlFactory::finish()
#3 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(28): GuzzleHttp\\Handler\\CurlHandler->__invoke()
#4 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(48): GuzzleHttp\\Handler\\Proxy::GuzzleHttp\\Handler\\{closure}()
#5 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(1150): GuzzleHttp\\Handler\\Proxy::GuzzleHttp\\Handler\\{closure}()
#6 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(1116): Illuminate\\Http\\Client\\PendingRequest->Illuminate\\Http\\Client\\{closure}()
#7 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(1102): Illuminate\\Http\\Client\\PendingRequest->Illuminate\\Http\\Client\\{closure}()
#8 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(35): Illuminate\\Http\\Client\\PendingRequest->Illuminate\\Http\\Client\\{closure}()
#9 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/Middleware.php(38): GuzzleHttp\\PrepareBodyMiddleware->__invoke()
#10 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php(71): GuzzleHttp\\Middleware::GuzzleHttp\\{closure}()
#11 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/Middleware.php(63): GuzzleHttp\\RedirectMiddleware->__invoke()
#12 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/HandlerStack.php(75): GuzzleHttp\\Middleware::GuzzleHttp\\{closure}()
#13 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/Client.php(333): GuzzleHttp\\HandlerStack->__invoke()
#14 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/Client.php(169): GuzzleHttp\\Client->transfer()
#15 /var/www/vhosts/worldesports.app/httpdocs/vendor/guzzlehttp/guzzle/src/Client.php(189): GuzzleHttp\\Client->requestAsync()
#16 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(962): GuzzleHttp\\Client->request()
#17 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(823): Illuminate\\Http\\Client\\PendingRequest->sendRequest()
#18 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Support/helpers.php(247): Illuminate\\Http\\Client\\PendingRequest->Illuminate\\Http\\Client\\{closure}()
#19 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(863): retry()
#20 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php(700): Illuminate\\Http\\Client\\PendingRequest->send()
#21 /var/www/vhosts/worldesports.app/httpdocs/app/Services/EAVerifier.php(21): Illuminate\\Http\\Client\\PendingRequest->get()
#22 /var/www/vhosts/worldesports.app/httpdocs/app/Listeners/CreatePlayerForUser.php(35): App\\Services\\EAVerifier->fetchEaStats()
#23 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(441): App\\Listeners\\CreatePlayerForUser->handle()
#24 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(249): Illuminate\\Events\\Dispatcher->Illuminate\\Events\\{closure}()
#25 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(745): Illuminate\\Events\\Dispatcher->dispatch()
#26 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(509): Illuminate\\Auth\\SessionGuard->fireLoginEvent()
#27 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/fortify/src/Http/Controllers/TwoFactorAuthenticatedSessionController.php(67): Illuminate\\Auth\\SessionGuard->login()
#28 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Laravel\\Fortify\\Http\\Controllers\\TwoFactorAuthenticatedSessionController->store()
#29 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction()
#30 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Route.php(260): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#31 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#32 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(798): Illuminate\\Routing\\Route->run()
#33 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#34 /var/www/vhosts/worldesports.app/httpdocs/app/Http/Middleware/RedirectIfAuthenticated.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#35 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\\Http\\Middleware\\RedirectIfAuthenticated->handle()
#36 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#37 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#38 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(126): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#39 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(102): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest()
#40 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(54): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequestUsingNamedLimiter()
#41 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle()
#42 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#44 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#45 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#46 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#47 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#48 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Session\\Middleware\\StartSession->handle()
#49 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#50 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#51 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#52 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#53 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#54 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(799): Illuminate\\Pipeline\\Pipeline->then()
#55 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(776): Illuminate\\Routing\\Router->runRouteWithinStack()
#56 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(740): Illuminate\\Routing\\Router->runRoute()
#57 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(729): Illuminate\\Routing\\Router->dispatchToRoute()
#58 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(190): Illuminate\\Routing\\Router->dispatch()
#59 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#60 /var/www/vhosts/worldesports.app/httpdocs/vendor/livewire/livewire/src/DisableBrowserCache.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#61 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Livewire\\DisableBrowserCache->handle()
#62 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#63 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#64 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#65 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#66 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#67 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#68 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#69 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#70 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#71 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#72 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#73 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\HandleCors->handle()
#74 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#75 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#76 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#77 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\\Pipeline\\Pipeline->then()
#78 /var/www/vhosts/worldesports.app/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(134): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#79 /var/www/vhosts/worldesports.app/httpdocs/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()
#80 {main}
"}
<< Less
Just based off these screenshots, it appears the listener is never triggered but the user login event is being triggered. Thank you for reminding me of the endless tools Laravel has for debugging. That debug bar is a devs dream when it comes to debugging lol.
Hey,
Based on the detailed information and code snippets you've provided, it seems your setup with Laravel JetStream and the event listener is correctly implemented. The code structure and logic appear sound, which leads us to focus on the specific error that pops in the logs.
One key issue that stands out is the API call timeout, as indicated by the cURL error 28. This error typically occurs when a request takes too long to respond, which could be due to several factors, including network issues or a delay from the external server. Here are some suggestions to address this:
-
Investigate Network and Firewall Settings:
- The timeout could be a result of network restrictions or firewall settings either on your server or the external server (EA's servers in this case). It's possible that outgoing connections to EA's API are being blocked or delayed.
- You can test your server's ability to reach external services by running commands like
ping
,traceroute
, orcurl
from your server's command line. For example, a simplecurl
command to the EA API endpoint might give you more insight:curl -v https://proclubs.ea.com/api/nhl/members/search?platform=common-gen5&memberName=bestthereis1983
- This test can help determine if there's a network connectivity issue from your server to the EA API.
-
Adjust Timeout Settings:
- Consider adjusting the timeout settings in your HTTP request within the
EAVerifier
service. Laravel's HTTP client allows you to specify a timeout. Increasing this value might help if the EA API is slow to respond:$response = Http::timeout(60)->get('https://proclubs.ea.com/api/nhl/members/search', [...]);
- Note that while increasing the timeout can help in some cases, it's also important to ensure that the external service is expected to take longer. Otherwise, this might just be treating the symptom rather than the cause.
- Consider adjusting the timeout settings in your HTTP request within the
-
API Endpoint Testing:
- Test the API endpoint independently using tools like Postman or directly through the browser. This can help confirm if the issue is with the API itself or the way your application interacts with it.
Since your application's logic and structure look correct, addressing the network issue might resolve the problem you're facing. If the timeout issue persists despite these checks and adjustments, it might be worth exploring more in-depth network diagnostics or reaching out to the external API provider for more insights.
Let me know how it goes!
Best,
Bobby
You know what, now that you mention it, I cannot run curl commands on my Linux server. I cannot even use tinker on my server and have to test the service locally after I ftp over the code.
Hey what hosting provider do you use for your laravel projects? I am using IONOS dedicated servers and I think they block external connections.
That sounds to be the problem then! If this is a managed server, it would probably be best to reach out to their support and ask them to allow the traffic to that site.
I personally use DigitalOcean for all of my projects. You can spin up servers in a few seconds with predictable pricing. The only thing is that you get root access to those servers and it is up to you to manage them, like monitoring and upgrades and configuration.
If you want to give them a try here is the DevDojo referral link to get $200 free credits:
Hey I figured out the issue I THINK! Check out the screenshot below. I have not seen this error before when making a curl request. The commands I used should be present in the screenshot but if it isn't I defined them below.
^^ curl --no-alpn -v "https://proclubs.ea.com/api/nhl/members/search?platform=common-gen5&memberName=bestthereis1983" ^^
^^ curl --http1.1 -v "https://proclubs.ea.com/api/nhl/members/search?platform=common-gen5&memberName=bestthereis1983" ^^
^^ this screenshot is from my Windows OS and as you can see it works just fine. I am thinking its the server causing these issues and not the api call.
Yea, it sounds like that it is either an issue on the server side or the API provider is blocking your server IP address.
You can try running traceroute proclubs.ea.com
from your server and see if the host is reachable. If the host is not reachable, then you could send the output to your hosting provider and ask them to further investigate this for you.
Another possible problem is the openssl version on your server, it might need to be upgraded to the latest one.
Let me know how it goes!
Well the endpoint is publicly accessible so it cannot be that.
We had built another application using UmbracoCMS and it used the same API calls and worked just fine but it was another hosting provider.
I may just use digital ocean moving forward.
Do you use a dedicated server or just basic hosting for your projects? I have a dedicated server because we will be offering hosting, email accounts and more as part of the package. Without the server, my plans for the app are null basically when it comes to that part anyway. Clearly though this issue is server related because I've had HTTP issues prior to this that had to be fixed plus IONOS blocks certain ports by default but I have an associates in networking so I fixed that so not really sure why this won't work other than the server is no good.
It took IONOS several tries before getting the dedicated server set up properly and that is just basic functionality of Plesk 😂.
I am going to use that referral code today. Thank you Bobby for helping me narrow down this issue. Truly appreciate it!!
Well the endpoint is publicly accessible so it cannot be that.
Not really. If they are blocking your IP server range on their end this could explain why you can't access the hostname directly. As your Umbraco app was on another server, it would have a totally different IP range so this still does not mean that the API is not blocking the IP range of your current server.
This is why it is best to test this with a traceroute and see where the packets are getting dropped.
Yep, DigitalOcean only offers servers rather than standard shared hosting packages.
Well I got good news and bad news 😂. Good news I found out the issue, bad news is that the server has issues with it per the IONOS employee I spoke too.
I am setting up digital ocean account now. Thank you for helping.
No worries! Happy to hear that you've found the problem and hope that the hosting provider support team can help with fixing this!
Hey, as far as you know, does Digital Ocean support/allow requests to external services? It seems IONOS is blocking it. I am want to try Digital Ocean but need to ensure they offer what I need and who better to ask than someone who has experience working with Digital Ocean
Yep, they allow all external traffic except on port 25 which is the non-secure SMTP port. They do that to prevent new accounts from sending out spam.
But traffic to HTTP and HTTPS ports is all allowed.